<?php
	session_start();  //必须处在脚本最顶端


	// 创建画板
	$image = imagecreatetruecolor(200, 50);

	// 创建颜色
	$bgcolor = imagecolorallocate($image, 255, 255, 255);

	// 颜色填充到画板
	imagefill($image, 0, 0, $bgcolor);

	$content = "";
 	
	// 实现简单的随机数字验证码
	// 先创建内容
	// for ($i = 0; $i < 4; $i++) { 
	// 	$fontsize = 6;
	// 	$fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120)); //深色区域
	// 	$fontcontent = rand(0,9);
	// 	$content .=  $fontcontent;

	// 	$x = ($i * 100 / 4) + rand(5, 10);
	// 	$y = rand(5, 10);

	// 	imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
	// }



	//实现随机的字母加数字验证码
	// for ($i = 0; $i < 4; $i ++) { 
	// 	$fontsize = 6;
	// 	$fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));
		

	// 	$data = 'abcdefghijkmnpqrstuvwxy3456789';
	// 	$fontcontent = substr($data, rand(0, strlen($data)), 1);

	// 	$content .=  $fontcontent;

	// 	$x = ($i * 100 / 4) + rand(5, 10);
	// 	$y = rand(5, 10);


	// 	imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
	// }


	$fontface = 'msyh.ttf';
	// $strdb = array('怼','码','人','生','怼','码','大','叔');

	// for ($i = 0; $i < 4; $i ++) { 
	// 	$fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));

	// 	$num = rand(0,count($strdb));
	// 	$fontcontent =  $strdb[$num];
	// 	$content .=  $fontcontent;

	// 	imagettftext($image, mt_rand(20,26), mt_rand(-60,60), (40 * $i + 20),mt_rand(30, 35), $fontcolor, $fontface, $fontcontent);
	// }

	$str = '按甲方的垃圾地方连接啊是否了解阿斯兰放假阿拉斯加法拉斯加发牢骚的激发了开始疯狂拉萨的积分卡拉的首付款大神了后方可阿克苏的凤凰卡死地方哈卡斯发生的功法是伽师瓜撒打发的说法是否的萨芬撒打发阿斯蒂芬萨芬暗示仿盛大发士大夫第三方大叔发顺丰艾丝凡三大发送到发大水法第三方撒旦发送到发送到发的萨芬阿斯蒂芬圣达菲圣达菲倒萨仿盛大范德萨范德萨发的萨芬圣达菲的撒个梵蒂冈热人热特然阿什顿发讽德诵功热热天热啊改大哥大嫂各位';

	// 分割成数组，UTF8中每三个字符表示一个字
	$strdb = str_split($str,3);

	for ($i = 0; $i < 4; $i ++) { 
		$fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));

		$index = rand(0, count($strdb));
		$fontcontent = $strdb[$index];
		$content .=  $fontcontent;

		imagettftext($image, mt_rand(20,26), mt_rand(-60,60), (40 * $i + 20),mt_rand(30, 35), $fontcolor, $fontface, $fontcontent);
	}



	$_SESSION['authcode'] = $content;


	//创建干扰元素内容 
	for ($i = 0; $i < 200; $i ++) { 
		// 创建干扰点
		$pointcolor = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200));
		imagesetpixel($image, rand(1, 199), rand(1, 79), $pointcolor);
	}

	for ($i = 0; $i < 3; $i ++) { 
		// 创建干扰线
		$linecolor = imagecolorallocate($image, rand(80,220),  rand(80,220),  rand(80,220));
		imageline($image, rand(1,199), rand(1,49), rand(1,199), rand(1,49), $linecolor);
	}

	// echo $content;

	header("Content-type:image/png;charset =UTF8");

	imagepng($image);

	imagedestroy($image);